iT邦幫忙

2023 iThome 鐵人賽

DAY 20
1
Mobile Development

Android studio使用過程與開發說明系列 第 20

Day20 MVP、MVC、MVVC架構 觀念介紹

  • 分享至 

  • xImage
  •  

介紹

MVC(Model-View-Controller)、MVP(Model-View-Presenter)和MVVM(Model-View-ViewModel)是三種常見的軟體架構模式,用於組織和管理應用程序的程式碼。它們的目標都是分離關注點,提高程式碼的可維護性和可測試性。以下是它們的簡要介紹:

  1. MVC(Model-View-Controller)模式:
  • Model(模型):負責應用程序的資料和業務邏輯。它表示應用程序的核心,通常包括資料儲存、資料處理和應用程序的規則。

  • View(視圖):負責用戶界面的呈現和顯示。它取得來自模型的資料並將其呈現給用戶,同時捕捉用戶的輸入並將其傳遞給控制器。

  • Controller(控制器):充當模型和視圖之間的中介,處理用戶輸入並在需要時更新模型和視圖。它負責應用程序的流程控制和業務邏輯。

在MVC中,模型、視圖和控制器分開,每個部分都有不同的職責,這有助於減少程式碼的耦合性。

  1. MVP(Model-View-Presenter)模式:
  • Model(模型):同樣負責應用程序的資料和業務邏輯。

  • View(視圖):負責用戶界面的呈現和顯示,與MVC的視圖類似。

  • Presenter(主持人):取代了MVC中的控制器,負責處理用戶輸入並與模型互動,然後更新視圖。Presenter充當模 型和視圖之間的中介,但與控制器不同,它通常更貼近視圖,與視圖互動更直接。

在MVP中,視圖和模型之間的連接由主持人處理,這使得視圖可以更獨立於具體的業務邏輯。

  1. MVVM(Model-View-ViewModel)模式:
  • Model(模型):與前兩者相同,負責應用程序的資料和業務邏輯。

  • View(視圖):與MVC和MVP中的視圖類似,負責用戶界面的呈現和顯示。

  • ViewModel(視圖模型):是MVVM的核心部分,它是視圖和模型之間的連接器。ViewModel包含視圖所需的資料和狀 態,並提供命令和操作,使視圖能夠響應用戶輸入並更新模型。

在MVVM中,視圖和模型之間沒有直接的聯繫,而是通過ViewModel進行通信。這種分離有助於更好地管理應用程序的狀態和邏輯。

--總結--
總的來說,MVC、MVP和MVVM是用於組織應用程序程式碼的三種不同模式,它們在程式碼的組織和分離方面有不同的重點。選擇其中一種架構取決於應用程序的需求和開發團隊的偏好,但它們都有助於提高程式碼的可維護性和可測試性。


上一篇
Day19 - Retrofit 用法
下一篇
Day21 - MVP架構
系列文
Android studio使用過程與開發說明30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言